package cn.iocoder.yudao.module.resource.service.advertiser;

import cn.iocoder.yudao.module.resource.dal.dataobject.advertiser.ResourceAdvertiserDO;

import javax.validation.Valid;
import java.util.List;

/**
 * 广告商 Service 接口
 *
 * @author 芋道源码
 */
public interface ResourceAdvertiserService {

    /**
     * 创建广告商
     *
     * @param advertiserDO 广告商信息
     * @return 广告商ID
     */
    Long createAdvertiser(@Valid ResourceAdvertiserDO advertiserDO);

    /**
     * 更新广告商
     *
     * @param advertiserDO 广告商信息
     */
    void updateAdvertiser(@Valid ResourceAdvertiserDO advertiserDO);

    /**
     * 删除广告商
     *
     * @param id 广告商ID
     */
    void deleteAdvertiser(Long id);

    /**
     * 获得广告商
     *
     * @param id 广告商ID
     * @return 广告商
     */
    ResourceAdvertiserDO getAdvertiser(Long id);

    /**
     * 根据用户ID获得广告商
     *
     * @param userId 用户ID
     * @return 广告商
     */
    ResourceAdvertiserDO getAdvertiserByUserId(Long userId);

    /**
     * 获得广告商列表
     *
     * @return 广告商列表
     */
    List<ResourceAdvertiserDO> getAdvertiserList();

}
